Rocksdb 的一些参数调优策略

您所在的位置:网站首页 java -jar 参数配置 Rocksdb 的一些参数调优策略

Rocksdb 的一些参数调优策略

2024-01-09 22:28| 来源: 网络整理| 查看: 265

文章目录 写性能优化CF write buffer sizeDB write buffer size 读性能优化block cachebloom filterCompression 压缩 Compaction优化通用workload的配置 本文在rocksdb 整个读写链路基础上给出一些简单的调优策略,主要是通过调整一些 参数来满足我们大多数workload的性能需求。

更详细的源代码分析暂不涉及,一部分调优机制的源代码分析之前的部分文章中已经有过描述,需要的话会在文中提及。6.4及以上版本的实现中有超过200个参数,对于大多数使用rocksdb的同学来说实在是负担太重,想要通过分析源代码来明确每一个参数的深层含义以及在不同workload下的其表现最优的值显然是不可能的,所以只需要明确核心链路的可优化点即可。

通过本文,能够清楚 读写性能调优,compaction的核心调优,通用的优化配置。

写性能优化

我们知道rocksdb是基于LSM架构的单机存储引擎,其拥有高效的写吞吐。为了保证一致性,整个写入链路会先写WAL,再写memtale即可返回。其中WAL如果开了sync,则需要走一次I/O ,memtable是一个内存数据结构,通常是跳表实现的,基本属于CPU计算。后续数据在memtable的罗盘则通过异步的flush来进行。

wal的写入无法避免,写入参数上的优化就主要集中在写memtable上了。 rocksdb提供了write buffer size的配置,即单个memtable能够接受的最大写入量,并且提供了可以设置每一个DB/ColumnFamily 的写缓存配置。

CF write buffer size

cf_options.write_buffer_size = 64



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3